var $table = $('#table');
var treeObj;
var userId;
	$(function() {
		$table.bootstrapTable({
		url : '../../resources/js/directBusClient/manage.json',
		contentType: "application/x-www-form-urlencoded",
		method:"post",
		dataType:'json',
		idField : 'userCode',// 指定主键列
		singleSelect : true,
		search : false,
		cache : false, // 是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
		pagination : true, // 是否显示分页（*）
		sortable : false, // 是否启用排序
		sortOrder : "asc", // 排序方式
		queryParams : function (params) {
            //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            var temp = {   
                rows: params.limit,                         //页面大小
                page: (params.offset / params.limit) + 1,   //页码
                sort: params.sort,      //排序列名  
                sortOrder: params.order //排位命令（desc，asc） 
            };
            return temp;
        },
     	pageNumber : 1, // 初始化加载第一页，默认第一页
		pageSize : 2, // 每页的记录行数（*）
		pageList : [2, 10, 25, 50, 100 ], // 可供选择的每页的行数（*）
		columns : [ {
			field : 'state',
			checkbox : true
		}, {
			field : 'userCode',
			title : '用户名',
			align : 'center'
		}, {
			field : 'userName',
			title : '姓名',
			align : 'center'
		}, {
			field : 'userValid',
			title : '是否有效',
			align : 'center',
			formatter : function(value, row, index) {
				if (value) {
					return '<span class="label label-info">正常</span>';
				} else {
					return '<span class="label label-danger">失效</span>';
				}
			}
		} ]
	});
  });
	
	// 加载角色 tree 结构
	function loadRoleTree() {
		debugger;
		// 角色管理 tree 构建
		var setting = {
			async : {
				enable : true,
				url : getRootPath_web()+"/common/role/roleCheckedTree",
				//url : getRootPath_web()+"/common/role/roleTree",
				autoParam : [ "id", "pid", "name", "level" ],
				otherParam : {
					"userId" : userId
				}
			},
			check : {
				enable : true,
				chkStyle : "checkbox",
				chkboxType : {
					"Y" : "s",
					"N" : "s"
				}
			},
			view : {
				fontCss : setFontCss
			}
		};
		// 初始化 tree 数据
		treeObj = $.fn.zTree.init($('#roleZtree'), setting);
		// 设置样式
		function setFontCss(treeId, treeNode) {
			return treeNode.valid == false ? {
				color : "red"
			} : {};
		}

		$('#roleModal').modal('show');
	}

	// 保存角色
	$('#roleSave-btn').click(function() {
		debugger;
		var nodes = treeObj.getCheckedNodes(true);
		var roleStr = "";
		$.map(nodes, function(item, index) {
			roleStr += "," + item.id;
		});

		$.post(getRootPath_web()+'/common/user/roleSave', {
			'userId' : userId,
			'roleStr' : roleStr.substr(1)
		}, function(data) {
			$('#roleModal').modal('hide');
			$.alert(data.msg);
		});

	});

	//保存用户
	$('#userSave-btn').click(

			function() {
				debugger;
				//转换成字符数组
				var formData = $('#userForm').serializeArray();
				$.post(getRootPath_web()+'/common/user/save',
						formData, function(data) {
							if ('0' == data.status) {
								$('#addDialog').modal('hide');
								$.tips({
									content : data.msg,
									autoClose : 'cancel|3000'
								});
								$table.bootstrapTable('refresh');  //刷新
							} else {
								$.tips({
									content : data.msg,
									autoClose : 'cancel|3000'
								});
								resetForm();
								return false;
							}
						});
			});
	// 添加
	function addAction() {
		$("#userId").val("");
		$("#userCode").val("");
		$("#userName").val("");
		$("#userPassword").val("");
		$("#userAddress").val("");
		$("#userEmail").val("");
		$("#userPhone").val("");
		$("#userValid").val("");
		$('#addDialog').modal('show');
	}
	
	//编辑
	function editAction(){
		var rows = $table.bootstrapTable('getSelections');
		if (rows.length != 1) {
			$.confirm({
				title : false,
				content : '请选择一条记录！',
				autoClose : 'cancel|3000',
				backgroundDismiss : true,
				buttons : {
					cancel : {
						text : '取消',
						btnClass : 'waves-effect waves-button'
					}
				}
			});
		} else {
			$("#userId").val(rows[0].userId);
			$("#userCode").val(rows[0].userCode);
			$("#userName").val(rows[0].userName);
			$("#userPassword").val(rows[0].userPassword);
			$("#userAddress").val(rows[0].userAddress);
			$("#userEmail").val(rows[0].userEmail);
			$("#userPhone").val(rows[0].userPhone);
			$('#userValid').selectpicker('val', rows[0].userValid);//设置选中 
			$('#userValid').selectpicker('refresh');
			$('#addDialog').modal('show');
		/*	var userId =rows[0].userId;
			$.post(getRootPath_web()+'/common/user/queryUserById', {
				'userId' : userId,
			}, function(data) {

				if(data.status=="0"){
					$('#addDialog').modal('show');
					debugger;
					$("#userId").val(data.res.userId);
					$("#userCode").val(data.res.userCode);
					$("#userName").val(data.res.userName);
					$("#userPassword").val(data.res.userPassword);
					$("#userAddress").val(data.res.userAddress);
					$("#userEmail").val(data.res.userEmail);
					$("#userPhone").val(data.res.userPhone);
					$("#userValid").val(data.res.userValid);
					
				}
				else
					$.tips({
						content : data.msg,
						autoClose : 'cancel|3000'
					});
			});*/
			
		}
	
	}
	
	$('#addDialog').on('shown.bs.modal', function () {
		//模态组件加载完执行此方法
    })
	
	
	// 删除
	function deleteAction() {
		var rows = $table.bootstrapTable('getSelections');
		if (rows.length == 0) {
			$.confirm({
				title : false,
				content : '请至少选择一条记录！',
				autoClose : 'cancel|3000',
				backgroundDismiss : true,
				buttons : {
					cancel : {
						text : '取消',
						btnClass : 'waves-effect waves-button'
					}
				}
			});
		} else {
			$.confirm({
				type : 'red',
				animationSpeed : 300,
				title : false,
				content : '确认删除该用户吗？',
				buttons : {
					confirm : {
						text : '确认',
						btnClass : 'waves-effect waves-button',
						action : function() {
							var ids = new Array();
							for ( var i in rows) {
								ids.push(rows[i].userId);
							}
							$.post(getRootPath_web()+'/common/user/deleteUser', {
								'userIds' : ids.join(","),
							}, function(data) {
								$.tips({
									content : data.msg,
									autoClose : 'cancel|3000'
								});
								$table.bootstrapTable('refresh');  //刷新
							});
						}
					},
					cancel : {
						text : '取消',
						btnClass : 'waves-effect waves-button'
					}
				}
			});
		}
	}
	// 用户角色
	function roleAction() {
		debugger;
		var rows = $table.bootstrapTable('getSelections');
		if (rows.length != 1) {
			$.confirm({
				title : false,
				content : '请选择一条记录！',
				autoClose : 'cancel|3000',
				backgroundDismiss : true,
				buttons : {
					cancel : {
						text : '取消',
						btnClass : 'waves-effect waves-button'
					}
				}
			});
		} else {
			var row = rows[0];
			if ('admin' == row.userType) {
				$.alert('对不起，您不能编辑管理员的角色！');
			} else {
				userId = row.userId;
				$('#roleModalTitle').html('用户[' + row.userName + ']拥有的角色');
				loadRoleTree();
			}
		}
	}
	
	function getRootPath_web() {
	    //获取当前网址，如： http://localhost:8083/uimcardprj/share/meun.jsp
	    var curWwwPath = window.document.location.href;
	    //获取主机地址之后的目录，如： uimcardprj/share/meun.jsp
	    var pathName = window.document.location.pathname;
	    var pos = curWwwPath.indexOf(pathName);
	    //获取主机地址，如： http://localhost:8083
	    var localhostPaht = curWwwPath.substring(0, pos);
	    //获取带"/"的项目名，如：/uimcardprj
	    var projectName = pathName.substring(0, pathName.substr(1).indexOf('/') + 1);
	    return (localhostPaht + projectName);
	}